using System.Text; using System.Collections.Specialized; namespace PortabilityProblems { /// /// Summary description for Class1. /// class PortabilityProblems { /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { try { FileStream outputFile = new FileStream("testfile.txt", FileMode.Create, FileAccess.ReadWrite); outputFile.Write(Encoding.ASCII.GetBytes("012345678^"), 0, 10); outputFile.Position = 0L; byte[] currentContents = new byte[outputFile.Length]; outputFile.Read(currentContents, 0, (int)outputFile.Length); outputFile.Seek(-1L, SeekOrigin.Current); outputFile.Write(Encoding.ASCII.GetBytes("A^"), 0, 2); outputFile.Close(); outputFile = new FileStream("testfile.txt", FileMode.Open, FileAccess.Read); byte[] contents = new byte[100]; int read = outputFile.Read(contents, 0, 100); string strContents = Encoding.ASCII.GetString(contents, 0, read); string expectedContents = "012345678A^"; if (strContents == expectedContents) { Console.WriteLine("RandomReadWriteFileAccessProblem: PASSED"); } else { Console.WriteLine("RandomReadWriteFileAccessProblem: FAILED: expected contents '" + expectedContents + "' but got '" + strContents + "'."); } } catch (Exception e) { Console.WriteLine("RandomReadWriteFileAccessProblem: FAILED: " + e.Message); } } } }